package tests.movimiento;

import java.util.ArrayList;

import junit.framework.TestCase;
import modelo.*;
import modelo.estatico.Cuartel;
import modelo.movimiento.Movimiento;
import modelo.tanque.*;

public class TestMovimientoIFV extends TestCase {
	// estas pruebas funcan para velocidad=10 posInicial algotank=(0,0) posInicial cuartel (10,0)
	public void testMovimientoIzquierda(){
	    Contenedor.getInstance().eliminarContenedor();
		Contenedor.getInstance().setCuartel(new Cuartel(new Posicion(10,200)));
		IFV tanque=new IFV(new Posicion(21,13));
		Contenedor.getInstance().setAlgoTank(new AlgoTank(new Posicion(220,60)));
		Movimiento movimiento =  tanque.getMovimiento();
		ArrayList<Posicion> posiciones = movimiento.buscarPosicionAlternativa(tanque.getPosicion(),tanque.getVelocidad(),tanque.getDireccion());
		tanque.ordenarListaPosiciones (posiciones,  Contenedor.getInstance().getCuartel().getPosicion());
		Posicion posicion = tanque.obtenerPosicionCercana(posiciones);
	    tanque.ejecutarMovimiento(posicion);
		assertTrue(tanque.getPosicion().getX()==21);
		assertTrue(tanque.getPosicion().getY()==7);
	}

}
